package com.splic.product.mapper;

import java.util.List;
import com.splic.product.domain.VoiceTransfer;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 转写事件Mapper接口
 * 
 * @author singe
 * @date 2023-08-17
 */
@Mapper
public interface VoiceTransferMapper 
{
    /**
     * 查询转写事件
     * 
     * @param id 转写事件主键
     * @return 转写事件
     */
    public VoiceTransfer selectVoiceTransferById(Long id);

    /**
     * 查询转写事件列表
     * 
     * @param voiceTransfer 转写事件
     * @return 转写事件集合
     */
    public List<VoiceTransfer> selectVoiceTransferList(VoiceTransfer voiceTransfer);

    /**
     * 新增转写事件
     * 
     * @param voiceTransfer 转写事件
     * @return 结果
     */
    public int insert(VoiceTransfer voiceTransfer);

    /**
     * 修改转写事件
     * 
     * @param voiceTransfer 转写事件
     * @return 结果
     */
    public int update(VoiceTransfer voiceTransfer);

    /**
     * 删除转写事件
     *
     * @param id 转写事件主键
     * @return 结果
     */
    public int deleteById(Long id);


    VoiceTransfer selectVoiceTransferByTransferId(String transferId);

    VoiceTransfer selectVoiceTransferByProviderId(String providerId);

    VoiceTransfer selectVoiceResultByProviderId(String providerId);

    Long getAllUnfinished(@Param("userId") String userId, @Param("productId") Long productId);

    void saveVoiceResult(VoiceTransfer temp);

    void updateVoiceResult(VoiceTransfer temp);

    void updateResult(@Param("providerId") String providerId, @Param("resultCode") String resultCode);
}
